package com.ruoyi.wb.mapper;

import com.ruoyi.wb.domain.WbPlanClassify;
import com.ruoyi.wb.dto.WbPlanClassifyDto;
import com.ruoyi.wb.vo.WbPlanClassifyVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 维保类目列Mapper接口
 * 
 * @author ruoyi
 * @date 2024-10-14
 */
public interface WbPlanClassifyMapper 
{
    /**
     * 查询维保类目列
     * 
     * @param id 维保类目列主键
     * @return 维保类目列
     */
    public WbPlanClassify selectWbPlanClassifyById(Long id);

    /**
     * 查询维保类目列列表
     * 
     * @param wbPlanClassify 维保类目列
     * @return 维保类目列集合
     */
    public List<WbPlanClassify> selectWbPlanClassifyList(WbPlanClassify wbPlanClassify);

    /**
     * 新增维保类目列
     * 
     * @param wbPlanClassify 维保类目列
     * @return 结果
     */
    public int insertWbPlanClassify(WbPlanClassify wbPlanClassify);

    /**
     * 修改维保类目列
     * 
     * @param wbPlanClassify 维保类目列
     * @return 结果
     */
    public int updateWbPlanClassify(WbPlanClassify wbPlanClassify);

    /**
     * 删除维保类目列
     * 
     * @param id 维保类目列主键
     * @return 结果
     */
    public int deleteWbPlanClassifyById(Long id);

    /**
     * 批量删除维保类目列
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWbPlanClassifyByIds(Long[] ids);

    List<WbPlanClassifyVo> getCatalogueItemByPlanId(WbPlanClassifyDto dto);

    /**
     * 根据维保id删除对应目录信息
     * @param planId
     */
    void deleteWbPlanClassifyByPlanId(@Param("planId") Long planId);

    int batchSave(@Param("wbPlanClassifies")List<WbPlanClassify> wbPlanClassifies);
}
